package main

type Integer int

func (a Integer) Less(b Integer) bool  {
	return a<b
}

func (a Integer) Add1 (b Integer)  {
	a += b
}

func (a *Integer) Add2 (b Integer)  {
	*a += b
}

func main() {
	var i Integer = 1
	var j Integer = 2
	var b = i.Less(j)
	println(b)
	if i.Less(2) {
		println("1 less 2")
	}
	j.Add1(1)
	println(j)
	j.Add2(1)
	println(j)

	var arr []int = []int{1,2,3}
	var arr2 = arr
	arr2[1] = 10
	println(arr[1],arr2[1])

	var arr1 = [3]int{1,2,3}
	var arr12 = arr1
	arr12[1] = 10

	var arr13  = &arr1
	arr13[1] = 11
	println(arr1[1],arr12[1],arr13[1])

	var map1 = make(map[string]int,5)

	map1["a"] = 65
	var map2 = map1
	map2["a"] = 66
	println(map1["a"],map2["a"])


}
